package com.china08.yxyapi.entity.db.lessons;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

import com.china08.yxyapi.entity.BaseEntityNoId;

/**
 * 专题
 * 
 */
@SuppressWarnings("serial")
@Entity
@Table(name = "yxy_lessons_topic_lesson", catalog = "yxy_lessons")
public class YxyLessonsTopicLesson extends BaseEntityNoId {

	@Id
	@Column(length = 32)
	private String id;

	@Column(nullable = false)
	private String catalogId1;// 一级目录id

	@Column(nullable = false)
	private String catalogId2;// 二级目录id

	@Column
	private String catalogId3;// 三目录id

	@Column(nullable = false)
	private String name;// 课程名称

	@Column(nullable = false, columnDefinition = "TEXT")
	private String summary;// 简介

	@Column(nullable = false)
	private String cover;// 封面

	@Column(nullable = false)
	private Integer vip;// 是否vip 0--非vip 1--vip课程

	@Column
	private Integer count;// 总课时

	@Column
	private Integer duration;// 总时长

	@Column
	private Date createDate;// 创建时间
	@Column
	private Date upDate;// 上架时间

	@Column(nullable = false)
	private Integer status;// 状态-1-删除,0-草稿,1-待审核,2-审核通过,3-审核拒绝

	@Column
	private String rejectType;// 拒绝分类

	@Column
	private String rejectReason;// 拒绝原因

	@Column
	private Date rejectDate;// 拒绝时间

	@Column(nullable = false)
	private Integer pv;// 观看次数

	@Column(nullable = false)
	private Integer vv;// 观看人数

	@Column(nullable = false)
	private Integer isVisible;// 0-不显示(下架),1-可显示(上架)

	@Column
	private Float ep;// 评分

	@Column
	private Integer epTimes = 0;// 评分次数

	@Column(nullable = false)
	private String schoolId;// 创建人学校id

	@Column(nullable = false)
	private String author;// 贡献者

	@Column(nullable = false)
	private String authorId;

	@Column
	private String downType;// 下架分类

	@Column
	private String downReason;// 下架原因

	@Column
	private Date downDate;// 下架时间

	@Column
	private String avator;// 贡献者头像

	@Column(columnDefinition = "tinyint default 0 comment '是否为云校上传课程0--非云校上传课程,1--云校上传课程' ")
	private Integer isYx;// 是否为云校上传

	/** 排列序号 */
	@Column(name = "order_num", nullable = false, columnDefinition = "INT(11) DEFAULT 100")
	private Integer orderNum = 20;

	/**
	 * 使用范围: "yx":云校 "hrb":哈尔滨
	 */
	@Column(name = "scope", nullable = false)
	private String scope = "yx";

	@Column(columnDefinition = "tinyint default 0 comment '同步标识0:未同步,1:已同步' ")
	private Integer sync = 0;

	public String getCatalogId1() {
		return catalogId1;
	}

	public void setCatalogId1(String catalogId1) {
		this.catalogId1 = catalogId1;
	}

	public String getCatalogId2() {
		return catalogId2;
	}

	public void setCatalogId2(String catalogId2) {
		this.catalogId2 = catalogId2;
	}

	public String getCatalogId3() {
		return catalogId3;
	}

	public void setCatalogId3(String catalogId3) {
		this.catalogId3 = catalogId3;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSummary() {
		return summary;
	}

	public void setSummary(String summary) {
		this.summary = summary;
	}

	public String getCover() {
		return cover;
	}

	public void setCover(String cover) {
		this.cover = cover;
	}

	public Integer getVip() {
		return vip;
	}

	public void setVip(Integer vip) {
		this.vip = vip;
	}

	public Integer getCount() {
		return count;
	}

	public void setCount(Integer count) {
		this.count = count;
	}

	public Integer getDuration() {
		return duration;
	}

	public void setDuration(Integer duration) {
		this.duration = duration;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public String getRejectReason() {
		return rejectReason;
	}

	public void setRejectReason(String rejectReason) {
		this.rejectReason = rejectReason;
	}

	public Integer getPv() {
		return pv;
	}

	public void setPv(Integer pv) {
		this.pv = pv;
	}

	public Integer getVv() {
		return vv;
	}

	public void setVv(Integer vv) {
		this.vv = vv;
	}

	public Integer getIsVisible() {
		return isVisible;
	}

	public void setIsVisible(Integer isVisible) {
		this.isVisible = isVisible;
	}

	public Float getEp() {
		return ep;
	}

	public void setEp(Float ep) {
		this.ep = ep;
	}

	public Integer getEpTimes() {
		return epTimes;
	}

	public void setEpTimes(Integer epTimes) {
		this.epTimes = epTimes;
	}

	public String getSchoolId() {
		return schoolId;
	}

	public void setSchoolId(String schoolId) {
		this.schoolId = schoolId;
	}

	public String getAuthor() {
		return author;
	}

	public void setAuthor(String author) {
		this.author = author;
	}

	public Integer getOrderNum() {
		return orderNum;
	}

	public void setOrderNum(Integer orderNum) {
		this.orderNum = orderNum;
	}

	public String getScope() {
		return scope;
	}

	public void setScope(String scope) {
		this.scope = scope;
	}

	/**
	 * @return the upDate
	 */
	public Date getUpDate() {
		return upDate;
	}

	/**
	 * @param upDate
	 *            the upDate to set
	 */
	public void setUpDate(Date upDate) {
		this.upDate = upDate;
	}

	/**
	 * @return the rejectType
	 */
	public String getRejectType() {
		return rejectType;
	}

	/**
	 * @param rejectType
	 *            the rejectType to set
	 */
	public void setRejectType(String rejectType) {
		this.rejectType = rejectType;
	}

	/**
	 * @return the rejectDate
	 */
	public Date getRejectDate() {
		return rejectDate;
	}

	/**
	 * @param rejectDate
	 *            the rejectDate to set
	 */
	public void setRejectDate(Date rejectDate) {
		this.rejectDate = rejectDate;
	}

	/**
	 * @return the downType
	 */
	public String getDownType() {
		return downType;
	}

	/**
	 * @param downType
	 *            the downType to set
	 */
	public void setDownType(String downType) {
		this.downType = downType;
	}

	/**
	 * @return the downReason
	 */
	public String getDownReason() {
		return downReason;
	}

	/**
	 * @param downReason
	 *            the downReason to set
	 */
	public void setDownReason(String downReason) {
		this.downReason = downReason;
	}

	/**
	 * @return the downDate
	 */
	public Date getDownDate() {
		return downDate;
	}

	/**
	 * @param downDate
	 *            the downDate to set
	 */
	public void setDownDate(Date downDate) {
		this.downDate = downDate;
	}

	public String getAvator() {
		return avator;
	}

	public void setAvator(String avator) {
		this.avator = avator;
	}

	public Integer getIsYx() {
		return isYx;
	}

	public void setIsYx(Integer isYx) {
		this.isYx = isYx;
	}

	public String getAuthorId() {
		return authorId;
	}

	public void setAuthorId(String authorId) {
		this.authorId = authorId;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public Integer getSync() {
		return sync;
	}

	public void setSync(Integer sync) {
		this.sync = sync;
	}

}
